package com.itheima.operator; // 声明包名，用于组织代码的命名空间

public class OperatorDemo2 { // 定义一个公开的类，名为OperatorDemo2
    public static void main(String[] args) { // 主方法，程序的入口点
        // 目标：理解自增自减运算符
        print(10); // 调用print方法，传入参数10，演示基本的自增自减操作
        System.out.println("========================="); // 输出分隔线
        print2(10); // 调用print2方法，传入参数10，演示自增自减放在变量前后的区别
    }

    // 设计一个方法，接收一个整数，演示基本的自增自减操作阿
    public static void print(int a) { // 定义静态方法print，接收一个整数参数a
        a++; // 后缀自增：先使用变量a的值，再将a加1（这里单独一行，效果等同于a = a + 1）
        ++a; // 前缀自增：先将a加1，再使用变量a的值（这里单独一行，效果也等同于a = a + 1）
        System.out.println(a); // 输出a的值，此时a = 10 + 1 + 1 = 12

        a--; // 后缀自减：先使用变量a的值，再将a减1
        --a; // 前缀自减：先将a减1，再使用变量a的值
        System.out.println(a); // 输出a的值，此时a = 12 - 1 - 1 = 10，回到初始值
    }

    // 设计一个方法，理解自增和自减放在变量前后的区别
    public static void print2(int a) { // 定义静态方法print2，接收一个整数参数a
        int b = a++; // 后缀自增：先将a的值(10)赋给变量b，然后a再加1，所以b=10，a=11
        System.out.println(a); // 输出a的值：11
        System.out.println(b); // 输出b的值：10

        int c = ++a; // 前缀自增：先将a的值加1(从11变为12)，然后再将a的值赋给c，所以c=12，a=12
        System.out.println(a); // 输出a的值：12
        System.out.println(c); // 输出c的值：12
    }
}
